Décompilateur Java

Il arrive très souvent que l'analyse du mauvais fonctionnement d'une application nécessite un compréhension approfondie des librairies utilisées. Ce n'est pas un problème dans le cas des librairies OpenSource puisque par définition le code source est accessible.

Mais les projets uniquement basés sur des produits libres sont encore rares. Heureusement, la définition du bytecode java est suffisamment accessible pour rendre possible l'écriture de décompilateurs.

Contrairement aux autres languages, la décompilation ne s'arrête pas à l'assembleur, mais permet de remonter jusqu'au code source, sans les commentaires :-). Il est courant que le code décompilé soit plus lisible que le code source d'origine.

Télécharger

Le décompilateur le plus puissant à ce jour est certainement jad, disponible à l'adresse : http://www.kpdus.com/jad.html. Ce serveur étant souvent indisponible, vous pouvez aussi essayer jadnt158.zip.

Note : l'utilisation de jad est gratuite pour un usage non commercial. Pour tout autre usage, contacter l'auteur à l'adresse kpdus@softhome.net

Usage

Son utilisation est très simple, pour décompiler la classe Example1 dans le fichier Example1.java, lancer :

jad -sjava Example1.class
Pour décompiler une arborescence de classes, utiliser :
jad.exe -o -r -sjava -dsrc ./**/*.class